Skip to main content

Ollama本地部署

本章节介绍如何在本地通过 Ollama 搭建一个 Python 后端的聊天机器人服务,涵盖 Ollama 安装、模型下载、API 启动、以及 Flask 集成示例。


🛠️ 1. 安装与准备

下载并安装 Ollama(支持 macOS、Windows、Linux):


📦 2. 下载模型并启动本地服务

# 下载 llama2 模型
ollama pull llama2

# 启动 Ollama 本地 API 服务
ollama serve

默认监听端口:http://localhost:11434


🧩 3. Python Flask 集成示例

下面以 Flask 为例,实现一个简易聊天接口,接收用户消息并调用 Ollama API 获取回复。

import requests
from flask import Flask, request, jsonify

app = Flask(__name__)

OLLAMA_API_URL = "http://localhost:11434/api/generate"
MODEL_NAME = "llama2"

@app.route("/chat", methods=["POST"])
def chat():
user_input = request.json.get("message")
if not user_input:
return jsonify({"error": "Missing message"}), 400

payload = {
"model": MODEL_NAME,
"prompt": user_input,
"stream": False
}

try:
response = requests.post(OLLAMA_API_URL, json=payload)
response.raise_for_status()
result = response.json()
answer = result.get("response", "").strip()
return jsonify({"reply": answer})
except Exception as e:
return jsonify({"error": str(e)}), 500

if __name__ == "__main__":
app.run(port=5000)

🔍 4. 运行示例

# 启动 Flask 服务
python chat_api.py
# 测试接口
curl -X POST http://localhost:5000/chat -H "Content-Type: application/json" -d '{"message":"你好,Chatbot!"}'

示例返回:

{
"reply": "你好!我是 Ollama Chatbot。"
}

🗂️ 5. 项目结构示例

my-chatbot/
├── chat_api.py
└── requirements.txt

requirements.txt:

Flask
requests

安装依赖:

pip install -r requirements.txt

🔐 6. Tips

tip
  • Ollama 默认监听 localhost:11434,可通过配置 OLLAMA_API_PORT 环境变量自定义。
  • 模型通过 model 字段指定,支持 llama2, mistral, deepseek 等。

📚 7. 参考链接